integer linear programming problem